//
// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2 generiert 
// Siehe <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. 
// Generiert: 2019.02.03 um 11:14:53 PM CET 
//


package oasis.names.tc.ciq.xsdschema.xal._2;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the oasis.names.tc.ciq.xsdschema.xal._2 package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _AddressDetails_QNAME = new QName("urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", "AddressDetails");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: oasis.names.tc.ciq.xsdschema.xal._2
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link LocalityElement }
     * 
     */
    public LocalityElement createLocalityElement() {
        return new LocalityElement();
    }

    /**
     * Create an instance of {@link PostBoxElement }
     * 
     */
    public PostBoxElement createPostBoxElement() {
        return new PostBoxElement();
    }

    /**
     * Create an instance of {@link PostalCodeElement }
     * 
     */
    public PostalCodeElement createPostalCodeElement() {
        return new PostalCodeElement();
    }

    /**
     * Create an instance of {@link PostOfficeElement }
     * 
     */
    public PostOfficeElement createPostOfficeElement() {
        return new PostOfficeElement();
    }

    /**
     * Create an instance of {@link ThoroughfareElement }
     * 
     */
    public ThoroughfareElement createThoroughfareElement() {
        return new ThoroughfareElement();
    }

    /**
     * Create an instance of {@link PremiseElement }
     * 
     */
    public PremiseElement createPremiseElement() {
        return new PremiseElement();
    }

    /**
     * Create an instance of {@link AdministrativeAreaElement }
     * 
     */
    public AdministrativeAreaElement createAdministrativeAreaElement() {
        return new AdministrativeAreaElement();
    }

    /**
     * Create an instance of {@link DepartmentElement }
     * 
     */
    public DepartmentElement createDepartmentElement() {
        return new DepartmentElement();
    }

    /**
     * Create an instance of {@link AdministrativeAreaElement.SubAdministrativeArea }
     * 
     */
    public AdministrativeAreaElement.SubAdministrativeArea createAdministrativeAreaElementSubAdministrativeArea() {
        return new AdministrativeAreaElement.SubAdministrativeArea();
    }

    /**
     * Create an instance of {@link MailStopType }
     * 
     */
    public MailStopType createMailStopType() {
        return new MailStopType();
    }

    /**
     * Create an instance of {@link SubPremiseType }
     * 
     */
    public SubPremiseType createSubPremiseType() {
        return new SubPremiseType();
    }

    /**
     * Create an instance of {@link PremiseElement.PremiseNumberRange }
     * 
     */
    public PremiseElement.PremiseNumberRange createPremiseElementPremiseNumberRange() {
        return new PremiseElement.PremiseNumberRange();
    }

    /**
     * Create an instance of {@link DependentLocalityType }
     * 
     */
    public DependentLocalityType createDependentLocalityType() {
        return new DependentLocalityType();
    }

    /**
     * Create an instance of {@link ThoroughfareElement.ThoroughfareNumberRange }
     * 
     */
    public ThoroughfareElement.ThoroughfareNumberRange createThoroughfareElementThoroughfareNumberRange() {
        return new ThoroughfareElement.ThoroughfareNumberRange();
    }

    /**
     * Create an instance of {@link PostalRouteType }
     * 
     */
    public PostalRouteType createPostalRouteType() {
        return new PostalRouteType();
    }

    /**
     * Create an instance of {@link LargeMailUserType }
     * 
     */
    public LargeMailUserType createLargeMailUserType() {
        return new LargeMailUserType();
    }

    /**
     * Create an instance of {@link PostalCodeElement.PostTown }
     * 
     */
    public PostalCodeElement.PostTown createPostalCodeElementPostTown() {
        return new PostalCodeElement.PostTown();
    }

    /**
     * Create an instance of {@link FirmType }
     * 
     */
    public FirmType createFirmType() {
        return new FirmType();
    }

    /**
     * Create an instance of {@link AddressDetails }
     * 
     */
    public AddressDetails createAddressDetails() {
        return new AddressDetails();
    }

    /**
     * Create an instance of {@link AddressDetails.Country }
     * 
     */
    public AddressDetails.Country createAddressDetailsCountry() {
        return new AddressDetails.Country();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements }
     * 
     */
    public AddressDetails.PostalServiceElements createAddressDetailsPostalServiceElements() {
        return new AddressDetails.PostalServiceElements();
    }

    /**
     * Create an instance of {@link XALElement }
     * 
     */
    public XALElement createXALElement() {
        return new XALElement();
    }

    /**
     * Create an instance of {@link AddressLineElement }
     * 
     */
    public AddressLineElement createAddressLineElement() {
        return new AddressLineElement();
    }

    /**
     * Create an instance of {@link LocalityElement.LocalityName }
     * 
     */
    public LocalityElement.LocalityName createLocalityElementLocalityName() {
        return new LocalityElement.LocalityName();
    }

    /**
     * Create an instance of {@link PostBoxElement.PostBoxNumber }
     * 
     */
    public PostBoxElement.PostBoxNumber createPostBoxElementPostBoxNumber() {
        return new PostBoxElement.PostBoxNumber();
    }

    /**
     * Create an instance of {@link PostBoxElement.PostBoxNumberPrefix }
     * 
     */
    public PostBoxElement.PostBoxNumberPrefix createPostBoxElementPostBoxNumberPrefix() {
        return new PostBoxElement.PostBoxNumberPrefix();
    }

    /**
     * Create an instance of {@link PostBoxElement.PostBoxNumberSuffix }
     * 
     */
    public PostBoxElement.PostBoxNumberSuffix createPostBoxElementPostBoxNumberSuffix() {
        return new PostBoxElement.PostBoxNumberSuffix();
    }

    /**
     * Create an instance of {@link PostBoxElement.PostBoxNumberExtension }
     * 
     */
    public PostBoxElement.PostBoxNumberExtension createPostBoxElementPostBoxNumberExtension() {
        return new PostBoxElement.PostBoxNumberExtension();
    }

    /**
     * Create an instance of {@link PostalCodeElement.PostalCodeNumber }
     * 
     */
    public PostalCodeElement.PostalCodeNumber createPostalCodeElementPostalCodeNumber() {
        return new PostalCodeElement.PostalCodeNumber();
    }

    /**
     * Create an instance of {@link PostalCodeElement.PostalCodeNumberExtension }
     * 
     */
    public PostalCodeElement.PostalCodeNumberExtension createPostalCodeElementPostalCodeNumberExtension() {
        return new PostalCodeElement.PostalCodeNumberExtension();
    }

    /**
     * Create an instance of {@link PostOfficeElement.PostOfficeName }
     * 
     */
    public PostOfficeElement.PostOfficeName createPostOfficeElementPostOfficeName() {
        return new PostOfficeElement.PostOfficeName();
    }

    /**
     * Create an instance of {@link PostOfficeElement.PostOfficeNumber }
     * 
     */
    public PostOfficeElement.PostOfficeNumber createPostOfficeElementPostOfficeNumber() {
        return new PostOfficeElement.PostOfficeNumber();
    }

    /**
     * Create an instance of {@link ThoroughfareNumberElement }
     * 
     */
    public ThoroughfareNumberElement createThoroughfareNumberElement() {
        return new ThoroughfareNumberElement();
    }

    /**
     * Create an instance of {@link ThoroughfareNumberPrefixElement }
     * 
     */
    public ThoroughfareNumberPrefixElement createThoroughfareNumberPrefixElement() {
        return new ThoroughfareNumberPrefixElement();
    }

    /**
     * Create an instance of {@link ThoroughfareNumberSuffixElement }
     * 
     */
    public ThoroughfareNumberSuffixElement createThoroughfareNumberSuffixElement() {
        return new ThoroughfareNumberSuffixElement();
    }

    /**
     * Create an instance of {@link ThoroughfarePreDirectionType }
     * 
     */
    public ThoroughfarePreDirectionType createThoroughfarePreDirectionType() {
        return new ThoroughfarePreDirectionType();
    }

    /**
     * Create an instance of {@link ThoroughfareLeadingTypeType }
     * 
     */
    public ThoroughfareLeadingTypeType createThoroughfareLeadingTypeType() {
        return new ThoroughfareLeadingTypeType();
    }

    /**
     * Create an instance of {@link ThoroughfareNameType }
     * 
     */
    public ThoroughfareNameType createThoroughfareNameType() {
        return new ThoroughfareNameType();
    }

    /**
     * Create an instance of {@link ThoroughfareTrailingTypeType }
     * 
     */
    public ThoroughfareTrailingTypeType createThoroughfareTrailingTypeType() {
        return new ThoroughfareTrailingTypeType();
    }

    /**
     * Create an instance of {@link ThoroughfarePostDirectionType }
     * 
     */
    public ThoroughfarePostDirectionType createThoroughfarePostDirectionType() {
        return new ThoroughfarePostDirectionType();
    }

    /**
     * Create an instance of {@link ThoroughfareElement.DependentThoroughfare }
     * 
     */
    public ThoroughfareElement.DependentThoroughfare createThoroughfareElementDependentThoroughfare() {
        return new ThoroughfareElement.DependentThoroughfare();
    }

    /**
     * Create an instance of {@link PremiseElement.PremiseName }
     * 
     */
    public PremiseElement.PremiseName createPremiseElementPremiseName() {
        return new PremiseElement.PremiseName();
    }

    /**
     * Create an instance of {@link PremiseElement.PremiseLocation }
     * 
     */
    public PremiseElement.PremiseLocation createPremiseElementPremiseLocation() {
        return new PremiseElement.PremiseLocation();
    }

    /**
     * Create an instance of {@link PremiseNumberElement }
     * 
     */
    public PremiseNumberElement createPremiseNumberElement() {
        return new PremiseNumberElement();
    }

    /**
     * Create an instance of {@link PremiseNumberPrefixElement }
     * 
     */
    public PremiseNumberPrefixElement createPremiseNumberPrefixElement() {
        return new PremiseNumberPrefixElement();
    }

    /**
     * Create an instance of {@link PremiseNumberSuffixElement }
     * 
     */
    public PremiseNumberSuffixElement createPremiseNumberSuffixElement() {
        return new PremiseNumberSuffixElement();
    }

    /**
     * Create an instance of {@link BuildingNameType }
     * 
     */
    public BuildingNameType createBuildingNameType() {
        return new BuildingNameType();
    }

    /**
     * Create an instance of {@link AdministrativeAreaElement.AdministrativeAreaName }
     * 
     */
    public AdministrativeAreaElement.AdministrativeAreaName createAdministrativeAreaElementAdministrativeAreaName() {
        return new AdministrativeAreaElement.AdministrativeAreaName();
    }

    /**
     * Create an instance of {@link DepartmentElement.DepartmentName }
     * 
     */
    public DepartmentElement.DepartmentName createDepartmentElementDepartmentName() {
        return new DepartmentElement.DepartmentName();
    }

    /**
     * Create an instance of {@link CountryNameElement }
     * 
     */
    public CountryNameElement createCountryNameElement() {
        return new CountryNameElement();
    }

    /**
     * Create an instance of {@link AddressLinesType }
     * 
     */
    public AddressLinesType createAddressLinesType() {
        return new AddressLinesType();
    }

    /**
     * Create an instance of {@link AdministrativeAreaElement.SubAdministrativeArea.SubAdministrativeAreaName }
     * 
     */
    public AdministrativeAreaElement.SubAdministrativeArea.SubAdministrativeAreaName createAdministrativeAreaElementSubAdministrativeAreaSubAdministrativeAreaName() {
        return new AdministrativeAreaElement.SubAdministrativeArea.SubAdministrativeAreaName();
    }

    /**
     * Create an instance of {@link MailStopType.MailStopName }
     * 
     */
    public MailStopType.MailStopName createMailStopTypeMailStopName() {
        return new MailStopType.MailStopName();
    }

    /**
     * Create an instance of {@link MailStopType.MailStopNumber }
     * 
     */
    public MailStopType.MailStopNumber createMailStopTypeMailStopNumber() {
        return new MailStopType.MailStopNumber();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseName }
     * 
     */
    public SubPremiseType.SubPremiseName createSubPremiseTypeSubPremiseName() {
        return new SubPremiseType.SubPremiseName();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseLocation }
     * 
     */
    public SubPremiseType.SubPremiseLocation createSubPremiseTypeSubPremiseLocation() {
        return new SubPremiseType.SubPremiseLocation();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumber }
     * 
     */
    public SubPremiseType.SubPremiseNumber createSubPremiseTypeSubPremiseNumber() {
        return new SubPremiseType.SubPremiseNumber();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumberPrefix }
     * 
     */
    public SubPremiseType.SubPremiseNumberPrefix createSubPremiseTypeSubPremiseNumberPrefix() {
        return new SubPremiseType.SubPremiseNumberPrefix();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumberSuffix }
     * 
     */
    public SubPremiseType.SubPremiseNumberSuffix createSubPremiseTypeSubPremiseNumberSuffix() {
        return new SubPremiseType.SubPremiseNumberSuffix();
    }

    /**
     * Create an instance of {@link PremiseElement.PremiseNumberRange.PremiseNumberRangeFrom }
     * 
     */
    public PremiseElement.PremiseNumberRange.PremiseNumberRangeFrom createPremiseElementPremiseNumberRangePremiseNumberRangeFrom() {
        return new PremiseElement.PremiseNumberRange.PremiseNumberRangeFrom();
    }

    /**
     * Create an instance of {@link PremiseElement.PremiseNumberRange.PremiseNumberRangeTo }
     * 
     */
    public PremiseElement.PremiseNumberRange.PremiseNumberRangeTo createPremiseElementPremiseNumberRangePremiseNumberRangeTo() {
        return new PremiseElement.PremiseNumberRange.PremiseNumberRangeTo();
    }

    /**
     * Create an instance of {@link DependentLocalityType.DependentLocalityName }
     * 
     */
    public DependentLocalityType.DependentLocalityName createDependentLocalityTypeDependentLocalityName() {
        return new DependentLocalityType.DependentLocalityName();
    }

    /**
     * Create an instance of {@link DependentLocalityType.DependentLocalityNumber }
     * 
     */
    public DependentLocalityType.DependentLocalityNumber createDependentLocalityTypeDependentLocalityNumber() {
        return new DependentLocalityType.DependentLocalityNumber();
    }

    /**
     * Create an instance of {@link ThoroughfareElement.ThoroughfareNumberRange.ThoroughfareNumberFrom }
     * 
     */
    public ThoroughfareElement.ThoroughfareNumberRange.ThoroughfareNumberFrom createThoroughfareElementThoroughfareNumberRangeThoroughfareNumberFrom() {
        return new ThoroughfareElement.ThoroughfareNumberRange.ThoroughfareNumberFrom();
    }

    /**
     * Create an instance of {@link ThoroughfareElement.ThoroughfareNumberRange.ThoroughfareNumberTo }
     * 
     */
    public ThoroughfareElement.ThoroughfareNumberRange.ThoroughfareNumberTo createThoroughfareElementThoroughfareNumberRangeThoroughfareNumberTo() {
        return new ThoroughfareElement.ThoroughfareNumberRange.ThoroughfareNumberTo();
    }

    /**
     * Create an instance of {@link PostalRouteType.PostalRouteName }
     * 
     */
    public PostalRouteType.PostalRouteName createPostalRouteTypePostalRouteName() {
        return new PostalRouteType.PostalRouteName();
    }

    /**
     * Create an instance of {@link PostalRouteType.PostalRouteNumber }
     * 
     */
    public PostalRouteType.PostalRouteNumber createPostalRouteTypePostalRouteNumber() {
        return new PostalRouteType.PostalRouteNumber();
    }

    /**
     * Create an instance of {@link LargeMailUserType.LargeMailUserName }
     * 
     */
    public LargeMailUserType.LargeMailUserName createLargeMailUserTypeLargeMailUserName() {
        return new LargeMailUserType.LargeMailUserName();
    }

    /**
     * Create an instance of {@link LargeMailUserType.LargeMailUserIdentifier }
     * 
     */
    public LargeMailUserType.LargeMailUserIdentifier createLargeMailUserTypeLargeMailUserIdentifier() {
        return new LargeMailUserType.LargeMailUserIdentifier();
    }

    /**
     * Create an instance of {@link PostalCodeElement.PostTown.PostTownName }
     * 
     */
    public PostalCodeElement.PostTown.PostTownName createPostalCodeElementPostTownPostTownName() {
        return new PostalCodeElement.PostTown.PostTownName();
    }

    /**
     * Create an instance of {@link PostalCodeElement.PostTown.PostTownSuffix }
     * 
     */
    public PostalCodeElement.PostTown.PostTownSuffix createPostalCodeElementPostTownPostTownSuffix() {
        return new PostalCodeElement.PostTown.PostTownSuffix();
    }

    /**
     * Create an instance of {@link FirmType.FirmName }
     * 
     */
    public FirmType.FirmName createFirmTypeFirmName() {
        return new FirmType.FirmName();
    }

    /**
     * Create an instance of {@link AddressDetails.Address }
     * 
     */
    public AddressDetails.Address createAddressDetailsAddress() {
        return new AddressDetails.Address();
    }

    /**
     * Create an instance of {@link AddressDetails.Country.CountryNameCode }
     * 
     */
    public AddressDetails.Country.CountryNameCode createAddressDetailsCountryCountryNameCode() {
        return new AddressDetails.Country.CountryNameCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressIdentifier }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressIdentifier createAddressDetailsPostalServiceElementsAddressIdentifier() {
        return new AddressDetails.PostalServiceElements.AddressIdentifier();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.EndorsementLineCode }
     * 
     */
    public AddressDetails.PostalServiceElements.EndorsementLineCode createAddressDetailsPostalServiceElementsEndorsementLineCode() {
        return new AddressDetails.PostalServiceElements.EndorsementLineCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.KeyLineCode }
     * 
     */
    public AddressDetails.PostalServiceElements.KeyLineCode createAddressDetailsPostalServiceElementsKeyLineCode() {
        return new AddressDetails.PostalServiceElements.KeyLineCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.Barcode }
     * 
     */
    public AddressDetails.PostalServiceElements.Barcode createAddressDetailsPostalServiceElementsBarcode() {
        return new AddressDetails.PostalServiceElements.Barcode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.SortingCode }
     * 
     */
    public AddressDetails.PostalServiceElements.SortingCode createAddressDetailsPostalServiceElementsSortingCode() {
        return new AddressDetails.PostalServiceElements.SortingCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLatitude }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLatitude createAddressDetailsPostalServiceElementsAddressLatitude() {
        return new AddressDetails.PostalServiceElements.AddressLatitude();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLatitudeDirection }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLatitudeDirection createAddressDetailsPostalServiceElementsAddressLatitudeDirection() {
        return new AddressDetails.PostalServiceElements.AddressLatitudeDirection();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLongitude }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLongitude createAddressDetailsPostalServiceElementsAddressLongitude() {
        return new AddressDetails.PostalServiceElements.AddressLongitude();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLongitudeDirection }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLongitudeDirection createAddressDetailsPostalServiceElementsAddressLongitudeDirection() {
        return new AddressDetails.PostalServiceElements.AddressLongitudeDirection();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.SupplementaryPostalServiceData }
     * 
     */
    public AddressDetails.PostalServiceElements.SupplementaryPostalServiceData createAddressDetailsPostalServiceElementsSupplementaryPostalServiceData() {
        return new AddressDetails.PostalServiceElements.SupplementaryPostalServiceData();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AddressDetails }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link AddressDetails }{@code >}
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", name = "AddressDetails")
    public JAXBElement<AddressDetails> createAddressDetails(AddressDetails value) {
        return new JAXBElement<AddressDetails>(_AddressDetails_QNAME, AddressDetails.class, null, value);
    }

}
